Skip to content

Chrome 150 and Firefox 153 implement new popover hint behavior#29939

Merged
ddbeck merged 7 commits into
mdn:mainfrom
hamishwillee:ff143_popover_hint
Jul 14, 2026
Merged

Chrome 150 and Firefox 153 implement new popover hint behavior#29939
ddbeck merged 7 commits into
mdn:mainfrom
hamishwillee:ff143_popover_hint

Conversation

@hamishwillee

@hamishwillee hamishwillee commented Jun 29, 2026

Copy link
Copy Markdown
Contributor

FF153 implements the new popover hint specification in https://bugzilla.mozilla.org/show_bug.cgi?id=2029974

This version_removes the old implementation of the global hint attribute (that has the note about the old spec) and adds a new release version for the global attribute. This also updates HTMLElement.hint, which was omitted in the update in #29676 (probably by accident).

Note, this was not in the BCD collector run #29883

Related docs work can be tracked in mdn/content#44461

@github-actions github-actions Bot added data:api Compat data for Web APIs. https://developer.mozilla.org/docs/Web/API data:html Compat data for HTML elements. https://developer.mozilla.org/docs/Web/HTML size:m [PR only] 25-100 LoC changed labels Jun 29, 2026
@github-actions

github-actions Bot commented Jun 29, 2026

Copy link
Copy Markdown
Contributor

Tip: Review these changes grouped by change (recommended for most PRs), or grouped by feature (for large PRs).

@caugner caugner left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should we consider the implementation of "an older version of the specification with inconsistent behavior" as a partial implementation?

Otherwise, there would be no need to split up the statement, as the note could say "Before Firefox 153, …"

@caugner caugner changed the title Ff143 popover hint Firefox 153 implements new popover hint behavior Jun 30, 2026
@caugner

caugner commented Jul 1, 2026

Copy link
Copy Markdown
Contributor

Should we consider the implementation of "an older version of the specification with inconsistent behavior" as a partial implementation?

Forgot to cc @Elchi3 or @ddbeck.

@hamishwillee

Copy link
Copy Markdown
Contributor Author

Should we consider the implementation of "an older version of the specification with inconsistent behavior" as a partial implementation?

@caugner There was already some discussion of that in #29676 (comment)

FWIW IMO no, on the basis that it wasn't a partial implementation: it was a full implementation of a buggy spec. I quite like the current approach. I'll leave for you lot to resolve how you want it though.

@caugner

caugner commented Jul 3, 2026

Copy link
Copy Markdown
Contributor

Should we consider the implementation of "an older version of the specification with inconsistent behavior" as a partial implementation?

@caugner There was already some discussion of that in #29676 (comment)

Thanks for the reminder. But doesn't Chrome 150 (stable) also implement the new version? If it was just Firefox 153 (beta), we might have wanted to wait, but now that both implementing engines implement the new version, we should be able to go ahead and mark the old version as partial (as suggested by Daniel in the linked comment). Technically, this reverts Firefox support from Stable to Beta, but I would think that's okay for 2 weeks until the 153 stable release.

caugner and others added 4 commits July 8, 2026 16:26
Comment thread html/global_attributes.json
Comment thread html/global_attributes.json
Co-authored-by: Hamish Willee <hamishwillee@gmail.com>
@hamishwillee

Copy link
Copy Markdown
Contributor Author

... But doesn't Chrome 150 (stable) also implement the new version? If it was just Firefox 153 (beta), we might have wanted to wait, but now that both implementing engines implement the new version, we should be able to go ahead and mark the old version as partial (as suggested by Daniel in the linked comment). Technically, this reverts Firefox support from Stable to Beta, but I would think that's okay for 2 weeks until the 153 stable release.

Yes it does https://developer.chrome.com/release-notes/150?hl=en#popoverhint_behavior_changes

Fixed as I think you wanted ("treat an older version of the specification with inconsistent behavior as a partial implementation")

FWIW I would have said "that is inconsistent with how BCD works". Seems like there is support for the idea in that thread though, and I don't feel strongly.

@hamishwillee hamishwillee requested a review from caugner July 12, 2026 23:49
@ddbeck

ddbeck commented Jul 14, 2026

Copy link
Copy Markdown
Contributor

We discussed this on today's BCD call and we agreed to approve and merge. We also thought @hamishwillee deserved a response to:

I would have said "that is inconsistent with how BCD works"

Yes, I can see how this might appear. My elaboration here is that BCD doesn't accommodate situations like this one very well, where we effectively have two distinct behaviors that happen to share the same name. It would be easy to handle something like popover="hintv2" in BCD without partials (or subfeatures). But our schema doesn't let us represent two different lineages of identically named features. Here, partial is a little bit of a hack to avoid saying to developers that the two implementations are successively compatible, which is what would be implied by a feature with a note (but no partial) or implied on the parent of a behavioral subfeature. I hope this helps explain the situation better.

In any case, thank you Hamish!

@ddbeck ddbeck changed the title Firefox 153 implements new popover hint behavior Chrome 150 and Firefox 153 implement new popover hint behavior Jul 14, 2026
@ddbeck ddbeck merged commit fc1f6f3 into mdn:main Jul 14, 2026
10 checks passed
@jakearchibald

jakearchibald commented Jul 14, 2026

Copy link
Copy Markdown
Contributor

Fwiw I agree with the use of 'partial' here, even though it isn't 'pure' by definition. This was a weird case because the spec was internally inconsistent, leading to what felt like buggy behaviour.

I guess we could have added a bunch of entries for the behaviour changes, but they'd have been very wordy like "Maintains 'hint' behaviour when nested within an 'auto' popover", and had those as not-supported in the earlier versions, but I think it's simpler to just say the old version was weird/broken.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

data:api Compat data for Web APIs. https://developer.mozilla.org/docs/Web/API data:html Compat data for HTML elements. https://developer.mozilla.org/docs/Web/HTML size:m [PR only] 25-100 LoC changed

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants